//package com.example.automobile_positioning.activity;
//
//import java.io.File;
//import java.io.FileWriter;
//import java.io.IOException;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//
//import android.app.Activity;
//import android.content.Intent;
//import android.os.Bundle;
//import android.os.Environment;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.Window;
//import android.widget.RadioGroup;
//import android.widget.RadioGroup.OnCheckedChangeListener;
//import android.widget.TextView;
//
//import com.amap.api.location.AMapLocation;
//import com.amap.api.location.AMapLocationClient;
//import com.amap.api.location.AMapLocationClientOption;
//import com.amap.api.location.AMapLocationClientOption.AMapLocationMode;
//import com.amap.api.location.AMapLocationListener;
//import com.amap.api.maps.AMap;
//import com.amap.api.maps.LocationSource;
//import com.amap.api.maps.MapView;
//import com.amap.api.maps.model.BitmapDescriptorFactory;
//import com.amap.api.maps.model.LatLng;
//import com.amap.api.maps.model.Marker;
//import com.amap.api.maps.model.MarkerOptions;
//import com.example.automobile_positioning.R;
//import com.example.automobile_positioning.util.SPUtils;
//
//public class MapActivity extends Activity implements LocationSource,
//AMapLocationListener,OnCheckedChangeListener{
//	
//	private AMap aMap;
//	private MapView mapView;
//	private OnLocationChangedListener mListener;
//	private AMapLocationClient mlocationClient;
//	private AMapLocationClientOption mLocationOption;
//	private MarkerOptions markerOption;
//	private TextView mLatitude;
//	private TextView mLongitude;
//	private TextView mTime;
//	
//	@Override
//	protected void onCreate(Bundle savedInstanceState) {
//		super.onCreate(savedInstanceState);
//		//设置Activity没有标题栏
//		this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//		setContentView(R.layout.activity_map);
//		mapView = (MapView) findViewById(R.id.map);
//		mLatitude = (TextView) findViewById(R.id.Latitude);
//		mLongitude = (TextView) findViewById(R.id.Longitude);
//		mTime = (TextView) findViewById(R.id.time);
//		mapView.onCreate(savedInstanceState);// 此方法必须重写
//		findViewById(R.id.btn_location_send).setOnClickListener(new OnClickListener() {
//			@Override
//			public void onClick(View v) {
//				// TODO Auto-generated method stub
//				Intent intentSms=new Intent(MapActivity.this,SmsActivity.class);	
//				startActivity(intentSms);
//			}
//		});
//		init();
//	
//	}
//	/**
//	 * 初始化AMap对象
//	 */
//	private void init() {
//		if (aMap == null) {
//			aMap = mapView.getMap();
//			setUpMap();
//		}
//	}
//
//	/**
//	 * 设置一些amap的属性
//	 */
//	private void setUpMap() {
//		aMap.setLocationSource(this);// 设置定位监听
//		aMap.getUiSettings().setMyLocationButtonEnabled(true);// 设置默认定位按钮是否显示
//		aMap.setMyLocationEnabled(true);// 设置为true表示显示定位层并可触发定位，false表示隐藏定位层并不可触发定位，默认是false
//	}
//
//	/**
//	 * 方法必须重写
//	 */
//	@Override
//	protected void onResume() {
//		super.onResume();
//		mapView.onResume();
//	}
//
//	/**
//	 * 方法必须重写
//	 */
//	@Override
//	protected void onPause() {
//		super.onPause();
//		mapView.onPause();
//		deactivate();
//	}
//
//	/**
//	 * 方法必须重写
//	 */
//	@Override
//	protected void onSaveInstanceState(Bundle outState) {
//		super.onSaveInstanceState(outState);
//		mapView.onSaveInstanceState(outState);
//	}
//
//	/**
//	 * 方法必须重写
//	 */
//	@Override
//	protected void onDestroy() {
//		super.onDestroy();
//		mapView.onDestroy();
//	}
//	/**
//	 * 激活定位
//	 */
//	@Override
//	public void activate(OnLocationChangedListener listener) {
//		mListener = listener;
//		if (mlocationClient == null) {
//			mlocationClient = new AMapLocationClient(this);
//			mLocationOption = new AMapLocationClientOption();
//			//设置定位监听
//			mlocationClient.setLocationListener(this);
//			//设置是否只定位一次,默认为false
//	        mLocationOption.setOnceLocation(false);
//	        //设置定位间隔,单位毫秒,默认为2000ms
//	        mLocationOption.setInterval(10000);
//			//设置为高精度定位模式
//			mLocationOption.setLocationMode(AMapLocationMode.Hight_Accuracy);
//			//设置定位参数
//			mlocationClient.setLocationOption(mLocationOption);
//			// 此方法为每隔固定时间会发起一次定位请求，为了减少电量消耗或网络流量消耗，
//			// 注意设置合适的定位时间的间隔（最小间隔支持为2000ms），并且在合适时间调用stopLocation()方法来取消定位请求
//			// 在定位结束后，在合适的生命周期调用onDestroy()方法
//			// 在单次定位情况下，定位无论成功与否，都无需调用stopLocation()方法移除请求，定位sdk内部会移除
//			mlocationClient.startLocation();
//		}
//	}
//	/**
//	 * 停止定位
//	 */
//	@Override
//	public void deactivate() {
//		mListener = null;
//		if (mlocationClient != null) {
//			mlocationClient.stopLocation();
//			mlocationClient.onDestroy();
//		}
//		mlocationClient = null;
//	}
//
//	@Override
//	public void onCheckedChanged(RadioGroup group, int checkedId) {
//		// TODO Auto-generated method stub
//		
//	}
//	@Override
//	public void onLocationChanged(AMapLocation amapLocation) {
//		// TODO Auto-generated method stub
//		if (amapLocation != null&& amapLocation.getErrorCode() == 0) {
//			mListener.onLocationChanged(amapLocation);//注册定位监听
//			markerOption = new MarkerOptions().anchor(0.5f, 0.5f)
//					.position(new LatLng(amapLocation.getLatitude(),amapLocation.getLongitude())).title(amapLocation.getAddress())
//					.icon(BitmapDescriptorFactory.fromResource(R.drawable.location_marker))
//					.draggable(false);
//				//请求签到或签退成功后再添加标记
//				Marker marker=aMap.addMarker(markerOption);
//				marker.showInfoWindow();//设置默认显示一个infowinfow
//				SPUtils.put(this, "latitude", amapLocation.getLatitude());
//				SPUtils.put(this, "longitude", amapLocation.getLongitude());
//				String str=new SimpleDateFormat("yyyy年M月dd日 HH时mm分ss秒").format(new Date());
//				SPUtils.put(this, "time",str);
//				mLatitude.setText(String.valueOf(amapLocation.getLatitude()));
//				mLongitude.setText(String.valueOf(amapLocation.getLongitude()));
//				mTime.setText(String.valueOf(str));
//				inits(amapLocation);//调用保存在sd卡的方法
//				
//			}
//	}
//	
//	
//	//保存在SD卡
//   public void inits(AMapLocation amapLocation){		
//	try {
//        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){  
//         File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录,2.2的时候为:/mnt/sdcart  2.1的时候为：/sdcard，所以使用静态方法得到路径会好一点。  
//         File saveFile = new File(sdCardDir, "/location_"+System.currentTimeMillis()+ ".txt");  
//          //创建一个文件夹
//		  //判断内存卡里是否有这个文件夹 没有则创建
//		   if(!saveFile.exists()){
//			  saveFile.createNewFile();
//		  }
//         FileWriter fileWriter=new FileWriter(saveFile, true);  // 追加
//         fileWriter.write("Latitude:"+amapLocation.getLatitude()+",Longitude:"+amapLocation.getLongitude()+",date:"+new SimpleDateFormat("yyyy-dd-HH mm:ss").format(new Date())+"\n");
//         fileWriter.flush();
//         fileWriter.close();
//         }  
//    } catch (IOException e) {
//       e.printStackTrace();
//    }
//  }
//}
